Von Neumann Architecture

This architecture represents most sequential processing units. It was the blueprint for the modern computer.

It was created by John von Neumann in 1945.

  • became a math professor at Princeton University

components:

  1. A processing unit with both an arithmetic logic unit (ALU) and process registers
  2. A control unit that includes an instruction register and a program counter
  3. Memory that stores data and instructions
  4. External mass storage
  5. Input and output mechanisms

What Constitutes a Von Neumann Machine?

refers to pretty much any stored-program computer in which instruction fetch and data operation cannot occur at the same time (since they share a common bus)

What's a stored program computer then?

  • any computer that can create and store programs in memory

What was the alternative?

  • fixed function computers
    • e.g. a handheld calculator is a fixed-function computer.
    • The software on it was designed from the circuit level rather than some ISA.

Why Von Neumann Machines are so Important

The main aspect of a Von Neumann machine that was so incredibly groundbreaking was it's ability to treat instructions as data.

That key aspect is what makes writing Assemblers, Linkers, Compilers, Loaders, and other automated programming tools possible. It gives engineers the ability to write meta-programs or programs that write programs.

Problems with the Von Neumann Architecture

Von Neumann Bottleneck

Self-manipulating code code that can interact with itself can be harmful for the program itself and the surrounding environment.